package com.backend.service;

import com.backend.common.PageRequest;
import com.backend.common.PageResponse;
import com.backend.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;


/**
 *
 */
public interface UserService extends IService<User> {

    /**
     * 用户登陆
     *
     * @param userName 用户名
     * @param userPassword 密码
     * @param request 可以存储session
     * @return  用户的信息
     */
    User userLogin(String userName, String userPassword, HttpServletRequest request);

    /**
     * 用户注册
     *
     * @param userName 用户名
     * @param userPassword 密码
     * @return 是否注册成功
     */
    long userRegister(String userName, String userPassword);

    /**
     * 用户退出
     *
     * @param request 客户端的请求
     * @return 返回 1 表示退出成功
     */
    Boolean userLogout(HttpServletRequest request);

    /**
     * 获取session
     * @param request _
     * @return 用户
     */
    User getSession(HttpServletRequest request);

    /**
     * 重置密码
     * @param user 用户
     * @return 是否充值成功
     */
    Boolean resetPassword(User user);

    /**
     * 分页
     * @param pageRequest 存储了所有信息
     * @return 返回 pageresponse
     */
    PageResponse page(PageRequest pageRequest);

}
